package com.supermarket.api.service;

import com.supermarket.api.bean.order.*;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * 订单服务层
 * @author 李其伟
 * @date 2023/11/11
 */
public interface OrderService {

    /**
     * 查询确认单信息
     */
    List<ProductItem> confirmOrder(ConfirmOrderReq req);

    /**
     * 生成订单
     */
    String generateOrder(GenerateOrderReq req);

    /**
     * 分页获取用户订单
     */
    Page<OrderRes> list(OrderReq req);

    /**
     * 支付成功后的回调
     */
    void paySuccess(PaySuccessReq req);

    /**
     * 取消单个超时订单
     */
    void cancelOrder(String orderSn);
    /**
     * 根据订单ID获取订单详情
     */
    OrderRes detail(String orderSn);

    /**
     * 用户根据订单ID删除订单
     */
    void deleteOrder(String orderSn);
}
